MVC Pattern (Model-View-Controller) একটি জনপ্রিয় আর্কিটেকচারাল প্যাটার্ন যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়। এই প্যাটার্নটি অ্যাপ্লিকেশনের বিভিন্ন কম্পোনেন্টকে তিনটি পৃথক অংশে বিভক্ত করে, যা মেইনটেনেন্স এবং স্কেলেবিলিটি উন্নত করে।
- Model: অ্যাপ্লিকেশনের ডেটা এবং বিজনেস লজিক।
- View: ইউজার ইন্টারফেস (UI), যেটি ইউজারের কাছে ডেটা প্রদর্শন করে।
- Controller: ইউজার ইনপুট পরিচালনা করে এবং উপযুক্ত মডেল এবং ভিউকে যুক্ত করে।
JSP এবং সাভলেটের সাহায্যে MVC Pattern প্রয়োগ করা যেতে পারে। এখানে, JSP ফাইলগুলি View হিসেবে কাজ করে, সাভলেটগুলি Controller হিসেবে এবং JavaBeans বা অন্যান্য ক্লাসগুলি Model হিসেবে কাজ করে।
JSP তে MVC Pattern এর উদাহরণ
ধরা যাক, আমরা একটি লগইন সিস্টেম তৈরি করতে চাই, যেখানে ইউজারের ইনপুট গ্রহণ করা হবে, তারপর সেই ইনপুটের ভিত্তিতে ডেটাবেসের সাথে যোগাযোগ করা হবে এবং ফলাফল JSP পেজে প্রদর্শিত হবে।
১. Model - JavaBean (User.java)
এখানে আমরা JavaBean ব্যবহার করব যা মডেল হিসেবে কাজ করবে। এই ক্লাসটি ইউজারের তথ্য ধারণ করবে।
public class User {
private String username;
private String password;
// Getter and Setter methods
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
// Method to validate user
public boolean validate() {
return "admin".equals(username) && "password123".equals(password);
}
}
ব্যাখ্যা:
- এখানে
Userক্লাসের মধ্যে ইউজারের নাম এবং পাসওয়ার্ড রয়েছে, এবং একটিvalidate()মেথড রয়েছে যা ইউজারের তথ্য যাচাই করে।
২. Controller - LoginServlet.java
LoginServlet একটি সাভলেট যা ইউজারের ইনপুট গ্রহণ করে এবং যাচাইয়ের জন্য মডেলকে কল করে। সাভলেটটি তারপর উপযুক্ত ভিউ (JSP) পেজে রিডিরেক্ট করবে।
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// Create User object and validate
User user = new User();
user.setUsername(username);
user.setPassword(password);
if (user.validate()) {
// Redirect to success.jsp
response.sendRedirect("success.jsp");
} else {
// Redirect to error.jsp
response.sendRedirect("error.jsp");
}
}
}
ব্যাখ্যা:
doPost()মেথডে, সাভলেট ইউজারের ইনপুট গ্রহণ করে, এবং একটিUserঅবজেক্ট তৈরি করে।- ইউজারের তথ্য যাচাইয়ের জন্য
user.validate()মেথড কল করা হয়। সফল হলে, ইউজারকেsuccess.jspপেজে রিডিরেক্ট করা হয়, অন্যথায়error.jspপেজে রিডিরেক্ট করা হয়।
৩. View - success.jsp এবং error.jsp
success.jsp:
<html>
<body>
<h1>Login Successful!</h1>
</body>
</html>
error.jsp:
<html>
<body>
<h1>Invalid Username or Password!</h1>
</body>
</html>
ব্যাখ্যা:
- যদি ইউজার সঠিকভাবে লগইন করে, তাকে
success.jspপেজে নিয়ে যাওয়া হয়। - যদি ইউজার ভুল পাসওয়ার্ড বা ইউজারনেম প্রদান করে, তাকে
error.jspপেজে রিডিরেক্ট করা হয়।
সারাংশ
- Model:
User.javaক্লাস ডেটা ধারণ করে এবং যাচাইয়ের জন্য মেথড প্রদান করে। - View:
success.jspএবংerror.jspপেজগুলি ইউজারের কাছে ফলাফল প্রদর্শন করে। - Controller:
LoginServlet.javaসাভলেটটি ইউজারের ইনপুট প্রক্রিয়া করে এবং সঠিক ভিউ পেজে রিডিরেক্ট করে।
এইভাবে, JSP তে MVC Pattern ব্যবহার করে একটি সিম্পল লগইন সিস্টেম তৈরি করা হয়েছে, যেখানে Model, View, এবং Controller এর প্রতিটি ভূমিকা আলাদা করা হয়েছে, যা কোডের সংগঠন এবং রক্ষণাবেক্ষণকে সহজ করে।
Read more